
import request from '@/utils/request';
import { Result } from './definitions/Result';
import { Shop } from './definitions/Shop';
import { ResultListShop } from './definitions/ResultListShop';
import { ResultIPageShop } from './definitions/ResultIPageShop';
import { ResultListShopResponse } from './definitions/ResultListShopResponse';
import { ResultShop } from './definitions/ResultShop';


export class ShopAdminController {

    static insertUsingPOSTPath: string = "/v1/admin/shop";
    /// insert
    async insertUsingPOST(data: Shop, headers?: any):  Promise<any> {
      return request(`/v1/admin/shop`, {
        method: "POST",
        data: JSON.stringify(data) ,
        headers: headers,
      }) as Promise<any>;
    }
    
    static updateUsingPUTPath: string = "/v1/admin/shop";
    /// update
    async updateUsingPUT(data: Shop, headers?: any):  Promise<any> {
      return request(`/v1/admin/shop`, {
        method: "PUT",
        data: JSON.stringify(data) ,
        headers: headers,
      }) as Promise<any>;
    }
    
    static allUsingPOSTPath: string = "/v1/admin/shop/all";
    /// all
    async allUsingPOST( headers?: any):  Promise<ResultListShop> {
      return request(`/v1/admin/shop/all`, {
        method: "POST",
        data: null ,
        headers: headers,
      }) as Promise<any>;
    }
    
    static allBirthdayUsingPOSTPath: string = "/v1/admin/shop/allBirthday";
    /// allBirthday
    async allBirthdayUsingPOST( headers?: any):  Promise<ResultListShop> {
      return request(`/v1/admin/shop/allBirthday`, {
        method: "POST",
        data: null ,
        headers: headers,
      }) as Promise<any>;
    }
    
    static allSellerEndUsingPOSTPath: string = "/v1/admin/shop/allSellerEnd";
    /// allSellerEnd
    async allSellerEndUsingPOST( headers?: any):  Promise<ResultListShop> {
      return request(`/v1/admin/shop/allSellerEnd`, {
        method: "POST",
        data: null ,
        headers: headers,
      }) as Promise<any>;
    }
    
    static exportExcelUsingGETPath: string = "/v1/admin/shop/exportExcel";

    async exportExcelUsingGET(address: any, positionType: any,  headers?: any) : Promise<any> {
      return request(`/v1/admin/shop/exportExcel?address=${address ?? "" }&positionType=${positionType ?? "" }`, {
        method: "GET",
        headers: headers,
      }) as Promise<any>;
    }
    
    static pageUsingPOSTPath: string = "/v1/admin/shop/page";
    /// page
    async pageUsingPOST(data: Shop, headers?: any):  Promise<ResultIPageShop> {
      return request(`/v1/admin/shop/page`, {
        method: "POST",
        data: JSON.stringify(data) ,
        headers: headers,
      }) as Promise<any>;
    }
    
    static showListUsingGETPath: string = "/v1/admin/shop/showList/{positionType}/{date}";

    async showListUsingGET(positionType: string, date: string,  headers?: any) : Promise<ResultListShopResponse> {
      return request(`/v1/admin/shop/showList/${positionType}/${date}`, {
        method: "GET",
        headers: headers,
      }) as Promise<any>;
    }
    
    static getUsingGETPath: string = "/v1/admin/shop/{id}";

    async getUsingGET(id: string,  headers?: any) : Promise<ResultShop> {
      return request(`/v1/admin/shop/${id}`, {
        method: "GET",
        headers: headers,
      }) as Promise<any>;
    }
    
    static deleteUsingDELETEPath: string = "/v1/admin/shop/{id}";

    async deleteUsingDELETE(id: string,  headers?: any) : Promise<any> {
      return request(`/v1/admin/shop/${id}`, {
        method: "DELETE",
        headers: headers,
      }) as Promise<any>;
    }
    
}